package icu.decade.store.utils;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;

import java.util.List;
import java.util.Map;

/**
 * @author qk
 * @version 1.0
 * @className JSONUtil
 * @description
 * @date 2023/6/21 14:01
 **/
public class JSONUtil {

    public static <T> String toJsonString(T t) {
        return JSON.toJSONString(t);
    }

    public static <T> T parseObject(String json, Class<T> clz) {
        return JSON.parseObject(json, clz);
    }

    public static JSONObject parseJsonObject(String json) {
        return JSON.parseObject(json);
    }

    public static <T> List<T> parseArray(String jsonArray, Class<T> clz) {
        return JSON.parseArray(jsonArray, clz);
    }

    public static JSONArray parseJsonArray(String jsonArray) {
        return JSON.parseArray(jsonArray);
    }

    public static Map<String, Object> toMap(String jsonData) {
        return JSON.parseObject(jsonData, new TypeReference<Map<String, Object>>() {});
    }
}
